#region Microsoft Public License
/*
 * (c) Copyright Chenjun Wu. http://utablesdk.codeplex.com
 * 
 * This source is subject to the Microsoft Public License (Ms-PL).
 * Please see http://go.microsoft.com/fwlink/?LinkID=131993 for details.
 * All other rights reserved.
 */
#endregion

﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UTable.Input.MultiTouch;
using UTable.Input;
using System.Windows;
using UTable.ObjectManager.Commands;

namespace UTable.Objects.Policies
{
    class SimpleLayoutPolicy: LayoutPolicy
    {
        public SimpleLayoutPolicy(IObject target, object param): base(target, param)
        {

        }


        private void GetMultiTouchInput(IObject obj, MultiTouchEventArgs args)
        {

        }

        #region ILayoutPolicy Members

        public override void OnInputReceived(IObject obj, InputEventArgs args)
        {
            base.OnInputReceived(obj, args);
            if (args is MultiTouchEventArgs)
            {
                GetMultiTouchInput(obj, args as MultiTouchEventArgs);
            }
        }

        public override void TranslateObject(IObject obj, Point p)
        {
            base.TranslateObject(obj, p);
        }

        public override void RotateObject(IObject obj, double angle)
        {
            base.RotateObject(obj, angle);
        }

        public override void ResizeObject(IObject obj, Size size)
        {
            base.ResizeObject(obj, size);
        }

        public override void ScaleObject(IObject obj, Size scale)
        {
            base.ScaleObject(obj, scale);
        }

        public override void OnObjectRemoved(IObject obj)
        {
            base.OnObjectRemoved(obj);
        }

        public override void OnObjectInserted(IObject obj)
        {
            base.OnObjectInserted(obj);
        }

        public override void OnObjectClosed(IObject obj)
        {
            base.OnObjectClosed(obj);

        }

        public override void JoinObjects(ObjectJoinCommandArgs args)
        {

        }

        public override void UnjoinObjects(ObjectUnjoinCommandArgs args)
        {

        }

        public override void ChangeLayoutState(IObject obj, ObjectLayoutState state)
        {
            base.ChangeLayoutState(obj, state);
        }

        #endregion

    }
}
